package com.tencent.sr.iris.activity.interfaces.client.task;

import com.tencent.sr.iris.activity.interfaces.request.task.TaskCommissionRequest;
import com.tencent.sr.iris.activity.interfaces.request.task.TaskIncomeRequest;
import com.tencent.sr.iris.activity.interfaces.request.task.TaskRewardListRequest;
import com.tencent.sr.iris.activity.interfaces.response.group.task.TaskCommissionResponse;
import com.tencent.sr.iris.activity.interfaces.response.group.task.TaskIncomeResponse;
import com.tencent.sr.iris.activity.interfaces.response.group.task.TaskRewardListResponse;
import com.tencent.sr.rmall.common.primitive.HttpResult;
import com.tencent.sr.rmall.common.request.PaginationRequest;
import com.tencent.sr.rmall.common.response.PaginationResponse;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@FeignClient(value = "iris-activity-core-service", contextId = "GroupTaskCoreClient",
        path = "/api/v1/iris/iris-activity-core-service/commission")
public interface GroupTaskCoreClient {

    @RequestMapping(path = "/reward", method = RequestMethod.POST)
    @ApiOperation(value = "查询团长任务奖励金")
    HttpResult<TaskCommissionResponse> taskReward(@RequestBody @Validated TaskCommissionRequest request);

    @RequestMapping(path = "/taskRewardNew", method = RequestMethod.POST)
    @ApiOperation(value = "新版查询团长任务奖励金")
    HttpResult<TaskIncomeResponse> taskRewardNew(@RequestBody @Validated TaskIncomeRequest request);

    @RequestMapping(path = "/pageRewardList", method = RequestMethod.POST)
    @ApiOperation(value = "分页查团长任务奖励详情")
    HttpResult<PaginationResponse<TaskRewardListResponse>> pageRewardList(
            @RequestBody @Validated PaginationRequest<TaskRewardListRequest> request);
}
